Return Value Prediction in a Java Virtual Machine
نویسندگان
چکیده
We present the design and implementation of return value prediction in SableVM, a Java Virtual Machine. We give detailed results for the full SPEC JVM98 benchmark suite, and compare our results with previous, more limited data. At the performance limit of existing last value, stride, 2-delta stride, parameter stride, and context (FCM) sub-predictors in a hybrid, we achieve an average accuracy of 72%. We describe and characterize a new table-based memoization predictor that complements these predictors nicely, yielding an increased average hybrid accuracy of 81%. VM level information about data widths provides a 35% reduction in space, and dynamic allocation and expansion of per-callsite hashtables allows for highly accurate prediction with an average per-benchmark requirement of 119 MB for the context predictor and 43 MB for the memoization predictor. As far as we know, the is the first implementation of non-trace-based return value prediction
منابع مشابه
Compiler Analyses for Improved Return Value Prediction
Speculative method-level parallelism has been shown to benefit from return value prediction. In this paper we propose and analyse two compiler analyses designed to improve the cost and performance of a hybrid return value predictor in a Java virtual machine setting. A return value use analysis determines which return values are consumed, and enables us to eliminate 2.6% of all non-void dynamic ...
متن کاملSpeculative Multithreading in a Java Virtual Machine
Speculative multithreading (SpMT) is a dynamic program parallelisation technique that promises dramatic speedup of irregular, pointer-based programs as well as numerical, loop-based programs. We present the design and implementation of software-only SpMT for Java at the virtual machine level. We take the full Java language into account and we are able to run and analyse real world benchmarks in...
متن کاملOn a New Method for Dataaow Analysis of Java Virtual Machine Subroutines
The bytecode veriier of Java Virtual Machine, which checks type safety of Java bytecode, is a basis of the security model of Java for guaranteeing safety of mobile code sent from an untrusted remote host. However , the type system for Java bytecode has some technical problems, one of which is in the handling of subroutines. Based on the work by Stata and Abadi and that by Qian, this paper prese...
متن کاملOn a New Method for Data ow Analysis
The bytecode veriier of Java Virtual Machine, which statically checks type safety of Java bytecode, is a basis of the security model of Java for guaranteeing safety of mobile code sent from an untrusted remote host. However, the type system for Java bytecode has some technical problems, one of which is in the handling of subroutines. Based on the work of Stata and Abadi and that of Qian, this p...
متن کاملAn asynchronous Java interface to MATLAB
MATLAB, an interactive environment for numerical and symbolic computation, supports a number of interfaces to foreign programming languages including Java. However, there is no appropriate support for calling back MATLAB functions from within the Java Virtual Machine integrated with MATLAB. This paper presents such an interface which is based exclusively on documented and portable mechanisms su...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2004